<?php
$isReloadable = false;
require_once("../../pers/inc.config.php");
require_once(R2_FS_WEB_ROOT.'/app/_inc/inc.session.php');
require_once(R2_FS_WEB_ROOT.'/app/_inc/funct.html.php');

if (reqVar('prefile')=='') $_REQUEST['prefile'] = uniqid('pref');

// array commesse
$sql_comm  = " SELECT c.id_comm, c.cod_comm, c.descr, c.id_responsabile ". 
             " FROM commessa c ";
if ($aUtentiRint[$objSess->idUtente]['ric_ope'] == 'ric') {
	$sql_comm .= " INNER JOIN richiedenti r ON r.id_comm = c.id_comm ".
	             "                         AND r.id_operatore = ".$objSess->idUtente;		
} 
$sql_comm .= " WHERE c.data_iniz <= '".date('Y-m-d')."' and c.data_fine >= '".date('Y-m-d')."' ".
             " ORDER BY c.cod_comm, c.descr";
$objDB->query($sql_comm,'selComm');

$aCommesse = array();
$aRespComm = array();
$aCommesse[0] = " - scegliere una commessa - ";
while($acComm = $objDB->fetch('selComm')) { 
	$aCommesse[$acComm['id_comm']] = $acComm['cod_comm']." - ".$acComm['descr'];  
	$aRespComm[$acComm['id_comm']] = $acComm['id_responsabile'];
}

if (reqVar('azione')=='salva') {$msgPag .= confMod();}

// array clienti
$aClRint = array();
$aClRint[0] = " - scegliere un cliente - ";
if (reqvar('azione')!='') {
	// Dati: clienti commessa.
	$sSqlCli = "SELECT * FROM clienti_comm WHERE id_comm = ".intval(reqVar('id_comm'));
	$objDB->query($sSqlCli,'selCli');
	while ($acCli = $objDB->fetch('selCli')) {	
		$aClRint[$acCli['id_cliente']] = $aClientiRint[$acCli['id_cliente']]['nome']; 
	}
	asort($aClRint);
	
	if (reqvar('azione')=='carCli') {
		$_REQUEST['id_cliente'] = 0;
	}
		
}

// array tipi rint
$aTpRint = array();
$aTpRint[0] = "";
foreach ($aTipiRint as $key => $value) {
	$aTpRint[$key] = $value['des'];
}

// array priorita'
$aPrioRint = array();
$aPrioRint[0] = "";
foreach ($aPrioritaRint as $key => $value) {
	$aPrioRint[$key] = $value['des'];
}

// array solleciti
$aSolMail['S'] = 'Si';
$aSolMail['N'] = 'No';

// array valori flag valuta, evasa, installata
$aV['X'] = 'Non valutare';
$aV['N'] = 'Non valutata';
$aV['S'] = 'Valutata';
$aV['C'] = 'Chiusa';

$aE['X'] = 'Non evadere';
$aE['N'] = 'Non evasa';
$aE['S'] = 'Evasa';
$aE['C'] = 'Chiusa';

$aI['X'] = 'Non installare';
$aI['N'] = 'Non installata';
$aI['S'] = 'Installata';
$aI['C'] = 'Chiusa';

// array stati
$aStati = array();
foreach ($aStatiRint as $key => $value) {
	$aStati[$key] = $value['descr'];
}

//Dati: rint selezionato
$sqlSel = " SELECT r.* "
		 ." FROM rint r " 
		 ." WHERE r.id_rint = ".intval(reqVar('id'));
$objDB->query($sqlSel,'selRec');
if (!$arec = $objDB->fetch('selRec')) {
	backOnErr("var. id. '".reqVar('id')."' mancante o errato");
}

//Al primo accesso setto le variabili
if (reqvar('azione') == '') {
	$_REQUEST['descr']      = $arec['descr'];	
	$_REQUEST['stato'] = $arec['stato'];	
	$_REQUEST['id_comm']    = $arec['id_comm'];
	$_REQUEST['id_cliente'] = $arec['id_cliente'];
	$_REQUEST['tipo_rint']  = $arec['tipo_rint'];
	$_REQUEST['priorita']   = $arec['priorita'];
	$_REQUEST['valutata']   = $arec['valutata'];
	$_REQUEST['evasa']      = $arec['evasa'];
	$_REQUEST['installata'] = $arec['installata'];
	$_REQUEST['data_scad_valutaz'] = YMD2DMY($arec['data_scad_valutaz']);	
	$_REQUEST['data_scad_svil']    = YMD2DMY($arec['data_scad_svil']);
	$_REQUEST['data_scad_install'] = YMD2DMY($arec['data_scad_install']);
	$_REQUEST['inviata_mail_valutaz']   = $arec['inviata_mail_valutaz'];
	$_REQUEST['inviata_mail_evas']      = $arec['inviata_mail_evas'];
	$_REQUEST['inviata_mail_installaz'] = $arec['inviata_mail_installaz'];
	$_REQUEST['rif_esterno'] = $arec['rif_esterno'];
	$_REQUEST['data_chiusura'] = YMD2DMY(substr($arec['data_ora_chiusura'], 0, 10));
	$_REQUEST['id_richiedente'] = $arec['id_richiedente'];
	$_REQUEST['id_responsabile'] = $arec['id_responsabile'];
	
	// Dati: clienti commessa.
	$sSqlCli = "SELECT * FROM clienti_comm WHERE id_comm = ".intval($arec['id_comm']);
	$objDB->query($sSqlCli,'selCli');
	while ($acCli = $objDB->fetch('selCli')) {	
		$aClRint[$acCli['id_cliente']] = $aClientiRint[$acCli['id_cliente']]['nome']; 
	}
	asort($aClRint);
}

$sCmdR = "";
$sCmdR .= "&nbsp;&nbsp;&nbsp";
$sCmdR .= "<a class='cmd1' href='#' onclick=\"submAzione('salva');\">conferma</a>";
$sCmdR .= cmdTorna('annulla');

$aOptSel = array();
$aOptSel['style'] = 'width: 130;';

$aMenuPag = array();
include("_inc/inc.aMenuPag.php");
testaHtml('Modifica richiesta intervento', $msgPag, '', $aMenuPag);

//Campi nascosti
echo getHtmlForm('frm1');
echo getHtmlHidden('azione','...');
echo getHtmlHidden('prefile');
echo getHtmlHidden('id');
?>
<input type='hidden' name='xsn' value="<?=XSN?>">

<script>
function submAzione(azione) {
	document.frm1.azione.value=azione;
	document.frm1.submit();
}
</script>

<table border="0" cellpadding="3" cellspacing="1" width="100%" align='center'>
   <tr>
      <td class="cmd1" align="right"><?=$sCmdR?></td>
   </tr>
</table>
<table class="tab1" border="0" cellpadding="3" cellspacing="1" width="100%" align='center'>
<?=getHtmlRigaRif();?>
   <tr>
      <td class="tit1" colspan = '20' align='center' height='25'>Rint</td>
   </tr>
   <tr>
      <td class="lab1" colspan = '3' style='text-align:center;font-size:24pt;'><?=reqVar('id')?></td>
	  <td class="txt1" colspan = '17'>
			&nbsp;
	  	    <?=getHtmlText('descr',128,255);?>&nbsp;
			<?=getHtmlSelect('stato',$aStati, '@REQ', $aOptSel);?>	  
	  </td>
   </tr>
   <tr>	
      <td class="lab1" colspan = '3' height='25'>Data/Ora ins</td>
	  <td class="txt1" colspan = '7'>
			<?=date("d/m/Y H:i:s",strtotime($arec['data_ora_ins']));?>
	  </td>
      <td class="lab1" colspan = '3'>Data/Ora mod</td>
	  <td class="txt1" colspan = '7'>
		<?  if ($arec['data_ora_mod'] == '0000-00-00 00:00:00') {
					echo '00/00/0000 00:00:00';
			} else {
					date("d/m/Y H:i:s",strtotime($arec['data_ora_mod']));
			} ?>
	  </td>
   </tr>
   <tr>
      <td class="lab1" colspan='3' height='25'>Commessa</td>
	  <td class="txt1" colspan='7'>
	  <?	$aOpt = array();
	  		$aOpt['onChange'] = "submAzione('carCli')";
			echo getHtmlSelect('id_comm', $aCommesse, $val='@REQ', $aOpt);	
	  ?>
	  </td>  
      <td class="lab1" colspan='3'>Cliente</td>
	  <td class="txt1" colspan='7'>
			<?=getHtmlSelect('id_cliente',$aClRint);?>
	  </td>  
   </tr>   
   <tr>
      <td class="lab1" colspan='3' height='25'>Tipo richiesta</td>
	  <td class="txt1" colspan='7'>
			<?=getHtmlSelect('tipo_rint',$aTpRint);?>
	  </td>
      <td class="lab1" colspan='3'>Priorita'</td>
	  <td class="txt1" colspan='7'>
			<?=getHtmlSelect('priorita',$aPrioRint);?>
	  </td>
   </tr>
   <tr>
   	  <td class="lab1" colspan='3' height='25'>Valutazione</td>
   	  <td class="txt1" colspan='3'>
   	  	   <?=getHtmlSelect('valutata',$aV);?>
   	  </td>
   	  <td class="lab1" colspan='3'>Evasione</td>
   	  <td class="txt1" colspan='4'>
   	  	   <?=getHtmlSelect('evasa',$aE);?>
   	  </td>
   	  <td class="lab1" colspan='3'>Installazione</td>
   	  <td class="txt1" colspan='4'>
   	  	   <?=getHtmlSelect('installata',$aI);?>
   	  </td>   
   </tr>
   <tr>
      <td class="lab1" colspan='3' height='25'>Data scad. valutazione</td>
	  <td class="txt1" colspan='3'>
			<?=getHtmlDate('data_scad_valutaz');?>
	  </td>
      <td class="lab1" colspan='3'>Data scad. sviluppo</td>
	  <td class="txt1" colspan='4'>
			<?=getHtmlDate('data_scad_svil');?>
	  </td>
      <td class="lab1" colspan='3'>Data scad. install.</td>
	  <td class="txt1" colspan='4'>
			<?=getHtmlDate('data_scad_install');?>
	  </td>	     
   </tr>
   <tr>
   	  <td class="lab1" colspan='3' height='25'>Sollecito valutazione</td>
   	  <td class="txt1" colspan='3'>
   	  	   <?=getHtmlSelect('inviata_mail_valutaz', $aSolMail);?>
   	  </td>
   	  <td class="lab1" colspan='3'>Sollecito evasione</td>
   	  <td class="txt1" colspan='4'>
   	  	   <?=getHtmlSelect('inviata_mail_evas', $aSolMail);?>
   	  </td>
   	  <td class="lab1" colspan='3'>Sollecito installazione</td>
   	  <td class="txt1" colspan='4'>
   	  	   <?=getHtmlSelect('inviata_mail_installaz', $aSolMail);?>
   	  </td>   
   </tr>
   <tr>
   	  <td class="lab1" colspan='3' height='25'>Riferimento Esterno</td>
	  <td class="txt1" colspan='17'>
			<?=getHtmlText('rif_esterno',80,80);?>
	  </td>
   </tr>
   <tr>
     <td class="lab1" colspan='3'>Data chiusura</td>
	  <td class="txt1" colspan='3'>
			<?=getHtmlDate('data_chiusura');?>
	  </td>	     
     <td class="lab1" colspan='3'>Responsabile</td>
	  <td class="txt1" colspan='4'>
			<?
			$aIdResp = array();
			foreach($aUtentiRint as $idRX => $aRX) {
				if ($aRX['ric_ope'] == 'ope')	$aIdResp[$idRX] = $aRX['nome'];
			}
			echo getHtmlSelect('id_responsabile',$aIdResp);
			?>
	  </td>	     
     <td class="lab1" colspan='3'>Richiedente</td>
	  <td class="txt1" colspan='4'>
			<?
			$aIdRichied = array();
			foreach($aUtentiRint as $idRX => $aRX) {
				$aIdRichied[$idRX] = $aRX['nome'];
			}
			echo getHtmlSelect('id_richiedente',$aIdRichied);
			?>
	  </td>	     
   </tr>   
<?
	$sSql = " SELECT d.* " .
			" FROM rint_doc d ".
			" WHERE d.id_rint = ".reqVar('id')." ".
	        " ORDER BY data_ora";
	$objDB->query($sSql,'sel_alg');
	$numDoc = $objDB->numRec('sel_alg');	
	$sHtml = '';
	if ($numDoc > 0) {
		$sHtml.= "<tr><td colspan='20' class='lab1' align='center'>Allegati</td></tr>";	
		while($alrec = $objDB->fetch('sel_alg')){
			$sHtml.=	"<tr>\n\t<td class='txt1' align='left' colspan='6' valign='top'>\n";
			$sHtml.=	"\t\t".getHtmlCheckBox('cb_alleg_'.$alrec['id_rint_doc'], 'S');
			if ($alrec['flag_canc']=='S') {
				$sHtml.=	"\t\t<img src='../_img/b_empty.png' height='15' border='0'>";
			} else {
				$sHtml.=	"\t\t<img src='".IcoAlg($alrec['nome_file'])."' height='15' border='0'>";
			}
			$sHtml.=	"\t\t<a class='txt1' href='docDwn.php?xsn=".XSN."&id=".$alrec['id_rint_doc']."' target='_blank'>".$alrec['nome_file']."\n".
						"\t\t</a>\n\t</td>\n".
						"\t<td class='txt1' align='left' colspan='7' valign='top'>".$alrec['descr']."\t</td>\n".
						"\t<td class='txt1' align='left' colspan='7' valign='top'>Caricato da: ".$aUtentiRint[$alrec['id_operatore']]['nome'].
						" il ".date("d/m/Y H:i:s",strtotime($alrec['data_ora'])).				
						"</td>\n</tr>\n\t";
		}
		echo $sHtml;
?>
	<tr>
		<td class='txt1' colspan='20' align='left' >
			(*) - checkando la casella si elimina il documento o, se gia' eliminato, lo si ripristina
		</td>
	</tr>
<?	
	}
?>
</table>
<table class="cmd1" border="0" cellpadding="3" cellspacing="1" width="100%" align='center'>
   <tr>
      <td class="cmd1" align="right"><?=$sCmdR?></td>
   </tr>
</table>
<?
echo "</form>\n";
codaHtml();
exit();

//Conferma Inserimento dati
function confMod() {
	global $objDB, $objSess;
	$msg = '';
	if (trim(reqVar('descr'))=="") {$msg .= "descrizione obbligatoria<br>";}
	
	if (reqVar('id_comm') == "0") {$msg .= "commessa obbligatoria<br>";}
	
	if (reqVar('id_cliente') == "0") {$msg .= "cliente obbligatorio<br>";}
	
	$odx = new rint2Date();
	$dataScadVal = '0000-00-00';
	if (reqVar('data_scad_valutaz')!='') {
		if ($odx->setDMY(reqVar('data_scad_valutaz'))) {
				$dataScadVal = $odx->getYMD();
		} else {
				$msg .= "data scadenza valutazione ".reqVar('data_scad_valutaz')." errata <br>";
		}
	}
	$dataScadSvil = '0000-00-00';
	if (reqVar('data_scad_svil')!='') {
		if ($odx->setDMY(reqVar('data_scad_svil'))) {
				$dataScadSvil = $odx->getYMD();
		} else {
				$msg .= "data scadenza sviluppo ".reqVar('data_scad_svil')." errata <br>";
		}
	}
	$dataScadInst = '0000-00-00';
	if (reqVar('data_scad_install')!='') {
		if ($odx->setDMY(reqVar('data_scad_install'))) {
				$dataScadInst = $odx->getYMD();
		} else {
				$msg .= "data scadenza installazione ".reqVar('data_scad_install')." errata <br>";
		}
	}
	$dataChiusura = '0000-00-00';
	if (reqVar('data_chiusura')!='') {
		if ($odx->setDMY(reqVar('data_chiusura'))) {
				$dataChiusura = $odx->getYMD();
		} else {
				$msg .= "data chiusura ".reqVar('data_chiusura')." errata <br>";
		}
	}	
	if ($msg != '') {return $msg;}
	
	// verifica numero e qualita' modifiche effettuate e relative scritture 
	// file rint_log_mod.
	$sSqlSel = " SELECT * FROM rint WHERE id_rint = ".reqVar('id');
	$objDB->query($sSqlSel,'sel');
	
	$aCampiMod = array();
	if ($acRec = $objDB->fetch('sel')) {
		$aCampiMod['Descrizione'] = array(addslashes(stripslashes($acRec['descr'])), reqVarAS('descr'));
		$aCampiMod['Stato'] = array($acRec['stato'], reqVar('stato'));
		$aCampiMod['Commessa'] = array($acRec['id_comm'], reqVar('id_comm'));
		$aCampiMod['Cliente'] = array($acRec['id_cliente'], reqVar('id_cliente'));
		$aCampiMod['Tipo richiesta'] = array($acRec['tipo_rint'], reqVar('tipo_rint'));
		$aCampiMod['Priorita\''] = array($acRec['priorita'], reqVar('priorita'));
		$aCampiMod['Valutazione'] = array($acRec['valutata'], reqVar('valutata'));
		$aCampiMod['Evasione'] = array($acRec['evasa'], reqVar('evasa'));
		$aCampiMod['Installazione'] = array($acRec['installata'], reqVar('installata'));
		$aCampiMod['Data scad. valutazione'] = array($acRec['data_scad_valutaz'], $dataScadVal); 		
		$aCampiMod['Data scad. sviluppo'] = array($acRec['data_scad_svil'], $dataScadSvil);  		
		$aCampiMod['Data scad. installazione'] = array($acRec['data_scad_install'], $dataScadInst);
		$aCampiMod['Sollecito valutazione'] = array($acRec['inviata_mail_valutaz'], reqVar('inviata_mail_valutaz'));
		$aCampiMod['Sollecito evasione'] = array($acRec['inviata_mail_evas'], reqVar('inviata_mail_evas'));
		$aCampiMod['Sollecito installazione'] = array($acRec['inviata_mail_installaz'], reqVar('inviata_mail_installaz'));
		$aCampiMod['Riferimento Esterno'] = array(addslashes(stripslashes($acRec['rif_esterno'])), reqVarAS('rif_esterno'));		
		$aCampiMod['Data ora chiusura'] = array(substr($acRec['data_ora_chiusura'], 0, 10) , $dataChiusura);
		$aCampiMod['Richiedente'] = array($acRec['id_richiedente'] , reqVar('id_richiedente'));
		$aCampiMod['Responsabile'] = array($acRec['id_responsabile'] , reqVar('id_responsabile'));
	}
		
	foreach ($aCampiMod as $label => $values) {		
		if (trim($values[0]) == trim($values[1])) {continue;}
				
		$insRML = " INSERT INTO rint_log_mod SET ".
		    	  " id_rint = ".reqVar('id').", ".
				  " data_ora_mod = '".date("Y-m-d H:i:s")."', ".
				  " campo = '".$label."', ".		
				  " id_utente = ".$objSess->idUtente.", ". 	
				  " valore_precedente = '".$values[0]."', ".
				  " valore_modificato = '".$values[1]."'";
		$objDB->exec($insRML);
	}
	
	$sSqlUpd = "UPDATE rint SET id_comm = ".reqVar('id_comm').
			   ", stato = '".reqVar('stato')."'".
			   ", valutata = '".reqVar('valutata')."'".				   
			   ", evasa = '".reqVar('evasa')."'".				   
			   ", installata = '".reqVar('installata')."'".	
			   ", id_richiedente = ".reqVarInt('id_richiedente').
			   ", id_responsabile = ".reqVarInt('id_responsabile').
			   ", data_ora_chiusura = '".$dataChiusura." 23:59:59'".
			   ", descr = '".reqVarAS('descr')."'".
			   ", data_scad_valutaz = '".$dataScadVal."'".
			   ", data_scad_svil = '".$dataScadSvil."'".
			   ", data_scad_install = '".$dataScadInst."'".	
			   ", rif_esterno = '".reqVarAS('rif_esterno')."'".
			   ", priorita = ".reqVar('priorita').
	           ", tipo_rint = ".reqVar('tipo_rint').	
	           ", id_cliente = ".reqVar('id_cliente').
			   ", inviata_mail_valutaz = '".reqVar('inviata_mail_valutaz')."'".				   
			   ", inviata_mail_evas = '".reqVar('inviata_mail_evas')."'".				   
			   ", inviata_mail_installaz = '".reqVar('inviata_mail_installaz')."'".
	"  WHERE id_rint = ".reqVar('id');		
	$objDB->exec($sSqlUpd);

	//cambia id_comm su assegnaz, attivita', att_previste se commessa cambiata
	if ($acRec['id_comm'] != reqVar('id_comm')) {
		$sSqlUpd = "  UPDATE assegnaz SET id_comm = ".reqVar('id_comm').
			"  WHERE id_rint = ".reqVar('id');		
		$objDB->exec($sSqlUpd);
		$sSqlUpd = "  UPDATE attivita  SET id_comm = ".reqVar('id_comm').
			"  WHERE id_rint = ".reqVar('id');		
		$objDB->exec($sSqlUpd);
			$sSqlUpd = "  UPDATE att_previste SET id_comm = ".reqVar('id_comm').
			"  WHERE id_rint = ".reqVar('id');		
		$objDB->exec($sSqlUpd);
	}
	foreach ($_REQUEST as $nX => $vX) {
		if (substr($nX,0,9)!= 'cb_alleg_') continue;
		$idX = substr($nX,9);
		$sSqlUpd = "UPDATE rint_doc SET flag_canc = IF(flag_canc='S','N','S') WHERE id_rint_doc = ".$idX;		
		$objDB->exec($sSqlUpd);	
	}
	
	header("Location: ".urlTorna());
	exit();
}

function IcoAlg($path) {
	if($path==''){return '';}	
	$img=" ";
	switch(substr(strtolower($path),-3)){
		case 'pdf':
			$ext="../_img/ico_pdf.gif";
			break;
		case 'doc':
			$ext="../_img/ico_doc.gif";
			break;
		case 'xls':
		case 'csv':
			$ext="../_img/ico_xls.gif";
			break;
		case 'xml':
			$ext="../_img/ico_xml.gif";
			break;
		case 'odt':
		case 'ods':
			$ext="../_img/ico_odx.gif";
			break;
		default:
			$ext="../_img/ico_txt.gif";
			break;			
	}
	return $ext;
}
